<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    .box {
      display: grid;
      grid-template-columns: repeat(3, 100px);
      grid-template-rows: repeat(3, 100px);

      /* justify-items属性设置单元格内容的水平位置（左中右） */
      /* align-items属性设置单元格内容的垂直位置（上中下）。 */
      /* 可选值: start | end | center | stretch（默认） */
      justify-items: center;
      align-items: center;
      /* place-items属性是align-items属性和justify-items属性的合并简写形式。 */
      place-items: start end;
      /* 如果省略第二个值，则浏览器认为与第一个值相等。 */
      place-items: center;
    }

    .box .item {
      width: 40px;
      height: 40px;
      line-height: 40px;
      text-align: center;
      background-color: #ccc;
    }
    /* 水平垂直居中 */
    .aaa {
      width: 500px;
      height: 500px;
      display: grid;
      place-items: center;
      background-color: #999;
    }
    .bbb {
      width: 50px;
      height: 50px;
      background-color: bisque;
    }
  </style>
</head>

<body>
  <div class="box">
    <div class="item">1</div>
    <div class="item">2</div>
    <div class="item">3</div>
    <div class="item">4</div>
    <div class="item">5</div>
    <div class="item">6</div>
    <div class="item">7</div>
    <div class="item">8</div>
    <div class="item">9</div>
  </div>

  <!-- --------水平垂直居中--------- -->
  <div class="aaa">
    <div class="bbb"></div>
  </div>
  <!-- --------水平垂直居中--------- -->
</body>

</html>